home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / Fresco / build / Unix / config / cf / Win32.rules < prev    next >
Text File  |  1995-07-12  |  16KB  |  531 lines

  1. XCOMM platform:  $XConsortium: Win32.rules,v 1.40 94/03/28 17:11:24 matt Exp $
  2.  
  3. #define HasSharedLibraries YES
  4. #define NeedLibInsideFlag YES
  5. #define SharedLibXaw NO
  6. #define SharedLibXmu NO
  7. #define SharedLibXt NO
  8. #define SharedDataSeparation NO
  9. #define SharedCodeDef /**/
  10. #define SharedLibraryDef /**/
  11. #define ShLibIncludeFile <WinLib.tmpl>
  12. #define SharedLibraryLoadFlags -dll
  13. #define PositionIndependentCFlags /**/
  14.  
  15. .c.obj:
  16.     $(CC) -c $*.c @<<
  17.     $(CFLAGS)
  18. <<
  19.  
  20. #if HasCplusplus
  21. .CCsuf.obj:
  22.     $(CXX) -c $*.CCsuf @<<
  23.     $(CXXFLAGS)
  24. <<
  25. #endif
  26.  
  27. #define ProgramTargetName(target)target.exe
  28.  
  29. #define RunProgram(progvar,options) $(progvar:/=\) options
  30.  
  31. #define RemoveFile(file) if exist file $(RM) file
  32.  
  33. #define RemoveFiles(files) @$(MAKE) $(MFLAGS) -f <<            @@\
  34. .SUFFIXES:                                @@\
  35.                                     @@\
  36. all: files                                @@\
  37.     !for %%i in ( Avoid.Error $$** ) do if exist %%i $(RM) %%i    @@\
  38.                                     @@\
  39. Avoid.Error files:                            @@\
  40. <<
  41.  
  42. #define MakeDir(dir) -$(MKDIRHIER) dir
  43.  
  44. #define ObjectCompile(options) RemoveFile($@)                @@\
  45.     $(CC) -c $*.c @<<                        @@\
  46.     $(CFLAGS) options                        @@\
  47. <<
  48.  
  49. #define LibObjCompile(dir,options) RemoveFiles($@ dir\$@)        @@\
  50.     $(CC) -c  $*.c @<<                        @@\
  51.     $(CCOPTIONS) $(ALLDEFINES) options                @@\
  52. <<                                    @@\
  53.     $(MV) $@ dir\$@
  54.  
  55. #define BuildIncludesTop(srclist,dstsubdir,dstupdir)            @@\
  56. includes::                                @@\
  57.     MakeDir($(BUILDINCDIR:/=\))                    @@\
  58.     @$(MAKE) $(MFLAGS) -f <<                    @@\
  59. .SUFFIXES:                                @@\
  60.                                     @@\
  61. all: srclist                                @@\
  62.     cd $(BUILDINCDIR:/=\)                        @@\
  63.     !RemoveFile($$**)                        @@\
  64.     !$(LN) $(BUILDINCTOP:/=\)\$(CURRENT_DIR:/=\)\$$** .        @@\
  65.                                     @@\
  66. Avoid.Error srclist:                            @@\
  67. <<
  68.  
  69. #define BuildIncludes(srclist,dstsubdir,dstupdir)            @@\
  70. XVARdef0 = $(BUILDINCDIR)/dstsubdir                    @@\
  71. XVARdef1 = $(BUILDINCTOP)/dstupdir/$(CURRENT_DIR)            @@\
  72.                                     @@\
  73. includes::                                @@\
  74.     MakeDir($(XVARuse0:/=\))                    @@\
  75.     @$(MAKE) $(MFLAGS) -f <<                    @@\
  76. .SUFFIXES:                                @@\
  77.                                     @@\
  78. all: srclist                                @@\
  79.     cd $(XVARuse0:/=\)                        @@\
  80.     !RemoveFile($$**)                        @@\
  81.     !$(LN) $(XVARuse1:/=\)\$$** .                    @@\
  82.                                     @@\
  83. Avoid.Error srclist:                            @@\
  84. <<
  85.  
  86. #define LinkFileList(step,list,dir,sub)                    @@\
  87. XVARdef0 = dir                                @@\
  88. XVARdef1 = sub                                @@\
  89. XVARdef2 = list                                @@\
  90.                                     @@\
  91. step:: $(XVARuse2:/=\)                            @@\
  92.     cd $(XVARuse0:/=\)                        @@\
  93.     !RemoveFile($**)                        @@\
  94.     !$(LN) $(XVARuse1:/=\)\$** .
  95.  
  96. #define LinkRule(program,options,objects,libraries) \
  97. $(CCLINK) Concat(-Fe,program) options objects libraries $(EXTRA_LOAD_FLAGS)
  98.  
  99. #define NormalProgramTarget(program,objects,deplibs,locallibs,syslibs)    @@\
  100. XVARdef0 = objects                            @@\
  101.                                     @@\
  102. ProgramTargetName(program): $(XVARuse0:.o=.obj) deplibs            @@\
  103.     RemoveTargetProgram($@)                        @@\
  104.     LinkRule($@,$(LDOPTIONS),$(XVARuse0:.o=.obj),locallibs $(LDLIBS) syslibs) @@\
  105.                                     @@\
  106. clean::                                    @@\
  107.     RemoveFile(ProgramTargetName(program))
  108.  
  109. #define ProgramTargetHelper(program,srcs,objs,deplib,locallib,syslib)    @@\
  110. ProgramTargetName(program): $(objs:.o=.obj) $(deplib)            @@\
  111.     RemoveTargetProgram($@)                        @@\
  112.     LinkRule($@,$(LDOPTIONS),$(objs:.o=.obj),locallib $(LDLIBS) syslib) @@\
  113.                                     @@\
  114. InstallProgram(program,$(BINDIR))                    @@\
  115. InstallManPage(program,$(MANDIR))
  116.  
  117. #define ComplexProgramTarget(program)                    @@\
  118. PROGRAM = ProgramTargetName(program)                    @@\
  119.                                     @@\
  120. AllTarget(ProgramTargetName(program))                    @@\
  121.                                     @@\
  122. ProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
  123.                                     @@\
  124. DependTarget()                                @@\
  125. LintTarget()                                @@\
  126.                                     @@\
  127. clean::                                    @@\
  128.     RemoveFile($(PROGRAM))
  129.  
  130. #define ComplexProgramTarget_1(program,locallib,syslib)            @@\
  131. OBJS = $(OBJS1) $(OBJS2) $(OBJS3)                    @@\
  132. SRCS = $(SRCS1) $(SRCS2) $(SRCS3)                    @@\
  133. PROGRAM1 = ProgramTargetName(program)                    @@\
  134.                                     @@\
  135. AllTarget($(PROGRAM1) $(PROGRAM2) $(PROGRAM3))                @@\
  136.                                     @@\
  137. ProgramTargetHelper(program,SRCS1,OBJS1,DEPLIBS1,locallib,syslib)    @@\
  138.                                     @@\
  139. DependTarget()                                @@\
  140. LintTarget()                                @@\
  141.                                     @@\
  142. clean::                                    @@\
  143.     for %%i in ($(PROGRAMS)) do $(RM) ProgramTargetName(%%i)
  144.  
  145. #define ComplexProgramTarget_2(program,locallib,syslib)            @@\
  146. PROGRAM2 = ProgramTargetName(program)                    @@\
  147.                                     @@\
  148. ProgramTargetHelper(program,SRCS2,OBJS2,DEPLIBS2,locallib,syslib)
  149.  
  150. #define ComplexProgramTarget_3(program,locallib,syslib)            @@\
  151. PROGRAM3 = ProgramTargetName(program)                    @@\
  152.                                     @@\
  153. ProgramTargetHelper(program,SRCS3,OBJS3,DEPLIBS3,locallib,syslib)
  154.  
  155. #define MoveToBakFile(file) -@if exist file $(MV) file file.bak
  156.  
  157. #define RMoveToBakFile(file) -RemoveFile(file.bak)            @@\
  158.     -@if exist file $(MV) file file.bak
  159.  
  160. #define InstallMultipleDestFlags(step,list,dest,flags)            @@\
  161. XVARdef0 = $(DESTDIR)dest                        @@\
  162.                                     @@\
  163. step:: list                                @@\
  164.     MakeDir($(XVARuse0:/=\))                    @@\
  165.     !$(INSTALL) $(INSTALLFLAGS) flags $** $(XVARuse0:/=\)
  166.  
  167. #define    CleanTarget()                            @@\
  168. clean::                                    @@\
  169.     RemoveFiles(FilesToClean ExtraFilesToClean)
  170.  
  171. #define LibraryTargetName(libname)libname.lib
  172.  
  173. #define LibraryTargetNameSuffix(libname,suffix)Concat(libname,suffix.lib)
  174.  
  175. #define MakeLibrary(libname,objlist) $(AR) @<<                @@\
  176. -out:libname objlist                            @@\
  177. <<
  178.  
  179. #define LinkSourceFile(src,dir)                        @@\
  180. XVARdef0 = dir/src                            @@\
  181.                                     @@\
  182. src:  $(XVARuse0:/=\)                            @@\
  183.     RemoveFile($@)                            @@\
  184.     $(LN) $? $@                            @@\
  185.                                     @@\
  186. includes:: src                                @@\
  187.                                     @@\
  188. depends:: src                                @@\
  189.                                     @@\
  190. clean::                                    @@\
  191.     RemoveFile(src)
  192.  
  193. #define LinkFile(tofile,fromfile)                    @@\
  194. XVARdef0 = fromfile                            @@\
  195. tofile:: $(XVARuse0:/=\)                        @@\
  196.     RemoveFile($@)                            @@\
  197.     $(LN) $? $@                            @@\
  198.                                     @@\
  199. includes:: tofile                            @@\
  200.                                     @@\
  201. depend:: tofile                                @@\
  202.                                     @@\
  203. clean::                                    @@\
  204.     RemoveFile(tofile)
  205.  
  206.  
  207. #define    NormalLibraryTarget(libname,objlist)                @@\
  208. AllTarget(LibraryTargetName(libname))                    @@\
  209.                                     @@\
  210. XVARdef0 = objlist                            @@\
  211.                                     @@\
  212. LibraryTargetName(libname): $(XVARuse0:.o=.obj)                @@\
  213.     RemoveFile($@)                            @@\
  214.     MakeLibrary($@,$(XVARuse0:.o=.obj))
  215.  
  216. #define    NormalLibraryTarget2(libname,objlist1,objlist2)            @@\
  217. NormalLibraryTarget(libname,objlist1 objlist2)
  218.  
  219. #define    NormalLibraryTarget3(libname,objlist1,objlist2,objlist3)    @@\
  220. NormalLibraryTarget(libname,objlist1 objlist2 objlist3)
  221.  
  222. #define    NormalDepLibraryTarget(libname,deplist,objlist)            @@\
  223. AllTarget(LibraryTargetName(libname))                    @@\
  224.                                     @@\
  225. XVARdef0 = deplist                            @@\
  226. XVARdef1 = objlist                            @@\
  227. XVARdef2 = $(XVARuse1:/=\)                        @@\
  228.                                     @@\
  229. LibraryTargetName(libname): $(XVARuse0:/=\)                @@\
  230.     RemoveFile($@)                            @@\
  231.     MakeLibrary($@,$(XVARuse2:.o=.obj))
  232.  
  233. #define    ProfiledLibraryTarget(libname,objlist)                @@\
  234. AllTarget(LibraryTargetNameSuffix(libname,_p))                @@\
  235.                                     @@\
  236. XVARdef0 = objlist                            @@\
  237.                                     @@\
  238. LibraryTargetNameSuffix(libname,_p): $(XVARuse0:.o=.obj)        @@\
  239.     RemoveFile($@)                            @@\
  240.     cd profiled                            @@\
  241.     MakeLibrary(..\$@,$(XVARuse0:.o=.obj))                @@\
  242.     cd ..
  243.  
  244. #define    DebuggedLibraryTarget(libname,objlist)                @@\
  245. AllTarget(LibraryTargetNameSuffix(libname,_d))                @@\
  246.                                     @@\
  247. XVARdef0 = objlist                            @@\
  248.                                     @@\
  249. LibraryTargetNameSuffix(libname,_d): $(XVARuse0:.o=.obj)        @@\
  250.     RemoveFile($@)                            @@\
  251.     cd debugger                            @@\
  252.     MakeLibrary(..\$@,$(XVARuse0:.o=.obj))                @@\
  253.     cd ..
  254.  
  255. #ifndef UseInstalled
  256. #define ImakeDependency(target)                        @@\
  257. target:: ProgramTargetName($(IMAKE))                    @@\
  258.                                     @@\
  259. ProgramTargetName($(IMAKE)):                        @@\
  260.     <<tmp.bat                            @@\
  261.     cd $(IMAKESRC:/=\)                        @@\
  262.     if exist Makefile $(MAKE) all                    @@\
  263.     if not exist Makefile $(MAKE) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)" @@\
  264. <<
  265. #endif
  266.  
  267. #ifndef UseInstalled
  268. #define DependDependency()                         @@\
  269. depend:: ProgramTargetName($(DEPEND))                    @@\
  270.                                     @@\
  271. ProgramTargetName($(DEPEND)):                        @@\
  272.     <<tmp.bat                            @@\
  273.     cd $(DEPENDSRC:/=\)                        @@\
  274.     $(MAKE)                                @@\
  275. <<
  276. #endif
  277.  
  278. #define    DependTarget()                            @@\
  279. DependDependency()                            @@\
  280.                                     @@\
  281. depend::                                @@\
  282.     $(DEPEND:/=\) @<<                        @@\
  283. $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS)        @@\
  284. <<
  285.  
  286. #define    DependTarget3(srcs1,srcs2,srcs3)                @@\
  287. DependDependency()                            @@\
  288.                                     @@\
  289. depend::                                @@\
  290.     $(DEPEND:/=\) @<<                        @@\
  291. $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1 srcs2 srcs3    @@\
  292. <<
  293.  
  294. #define ForceSubdirs(dirs)                        @@\
  295. Avoid.Error dirs: FRC                            @@\
  296.     @cd $@                                @@\
  297.     @echo making all in $(CURRENT_DIR)/$@...            @@\
  298.     $(MAKE) $(MFLAGS) PassCDebugFlags all                @@\
  299.     cd ..                                @@\
  300.                                     @@\
  301. FRC:
  302.  
  303. #define MakeMakeSubdirs(dirs,target)                    @@\
  304. target::                                @@\
  305.     for %%d in ( dirs ) do              \
  306.     cd %%d &&                     \
  307.     ( RemoveFile(Makefile.bak) ) &        \
  308.     $(MV) Makefile Makefile.bak &       \
  309.     ( ImakeSubCmdHelper -DTOPDIR=../$(TOP) -DCURDIR=$(CURRENT_DIR)/%%d ) & \
  310.     ( $(MAKE) $(MFLAGS) Makefiles ) &    \
  311.     cd ..
  312.  
  313. #ifdef NEVER
  314.     RMoveToBakFile(Makefile) &            
  315.     ImakeSubCmdHelper -DTOPDIR=../$(TOP) -DCURDIR=$(CURRENT_DIR)/%%d 
  316.     $(MAKE) $(MFLAGS) Makefiles &            
  317. #endif
  318.  
  319. #define oldMakeMakeSubdirs(dirs,target)                    @@\
  320. XVARdef0 = dirs                                @@\
  321. XVARdef1 = $$                                @@\
  322.                                     @@\
  323. target::                                @@\
  324.     @$(MAKE) $(MFLAGS) -f <<                    @@\
  325. .SUFFIXES:                                @@\
  326.                                     @@\
  327. all: $(XVARuse0:/=\)                            @@\
  328.                                     @@\
  329. Avoid.Error $(XVARuse0:/=\):                        @@\
  330.     cd $(XVARuse1)@                            @@\
  331.     RMoveToBakFile(Makefile)                    @@\
  332.     ImakeSubCmdHelper -DTOPDIR=../$(TOP) -DCURDIR=$(CURRENT_DIR)/$(XVARuse1)@ @@\
  333.     $(MAKE) $(MFLAGS) Makefiles                    @@\
  334.     cd ..                                @@\
  335. <<
  336.  
  337. #ifdef UseInstalled
  338. #define ImakeSubCmdHelper $(IMAKE_CMD)
  339. #else 
  340. #define ImakeSubCmdHelper ..\$(IMAKE) -I../$(IRULESRC) $(IMAKE_DEFINES)
  341. #endif
  342.  
  343. #define NamedTargetSubdirs(name,dirs,verb,flags,subname)        @@\
  344. name::                                @@\
  345.     for %%d in ( dirs ) do              \
  346.     cd %%d &&                     \
  347.     ( $(MAKE) $(MFLAGS) flags subname ) &    \
  348.     cd ..
  349.  
  350. #define oldNamedTargetSubdirs(name,dirs,verb,flags,subname)        @@\
  351. XVARdef0 = dirs                                @@\
  352. XVARdef1 = $$                                @@\
  353.                                     @@\
  354. name::                                    @@\
  355.     @$(MAKE) $(MFLAGS) -f <<                    @@\
  356. .SUFFIXES:                                @@\
  357.                                     @@\
  358. all: $(XVARuse0:/=\)                            @@\
  359.                                     @@\
  360. Avoid.Error $(XVARuse0:/=\):                        @@\
  361.     cd $(XVARuse1)@                            @@\
  362.     @echo verb in $(CURRENT_DIR)/$(XVARuse1)@...            @@\
  363.     $(MAKE) $(MFLAGS) flags subname                    @@\
  364.     cd ..                                @@\
  365. <<
  366.  
  367. #define UnsharedLibReferences(varname,libname,libsource)        @@\
  368. Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/,libsource/,libname.lib) @@\
  369. Concat(varname,LIB) = LoaderLibPrefix _Use(libname.lib,$(Concat3(DEP,varname,LIB))) @@\
  370. LintLibReferences(varname,libname,libsource)
  371.  
  372. #define SharedLibReferences(varname,libname,libsource,revname,rev)    @@\
  373. revname = rev                                @@\
  374. UnsharedLibReferences(varname,libname,libsource)
  375.  
  376. #define    SubdirLibraryRule(objlist)                    @@\
  377. XVARdef0 = objlist                            @@\
  378.                                     @@\
  379. all:: DONE                                @@\
  380.                                     @@\
  381. DONE: $(XVARuse0:.o=.obj)                        @@\
  382.     RemoveFile($@)                            @@\
  383.     echo - > $@                            @@\
  384.                                     @@\
  385. clean::                                    @@\
  386.     RemoveFile(DONE)
  387.  
  388. #define CppScriptTarget(dst,src,defs,deplist)                @@\
  389. dst::                                    @@\
  390.     @echo sorry, unable to make $@
  391.  
  392. #define CppFileTarget(dst,src,defs,deplist)                @@\
  393. XFAKEVAR = X                                @@\
  394. dst::  src deplist                            @@\
  395.     RemoveFile($@)                            @@\
  396.     $(PREPROCESSCMD) -I. <<CppTmpFile.c @<< >$@            @@\
  397.     XCOMM define $(XFAKEVAR)COMM XCOMM                @@\
  398.     XCOMM include <src>                        @@\
  399. <<                                    @@\
  400.     defs                                @@\
  401. <<                                    @@\
  402.                                     @@\
  403. clean::                                    @@\
  404.     RemoveFiles(dst)
  405.  
  406. #define InstallNamedTarget(step,srcname,flags,dest,dstname)        @@\
  407. XVARdef0 = $(DESTDIR)dest/                        @@\
  408.                                     @@\
  409. step:: srcname                                @@\
  410.     MakeDir($(XVARuse0:/=\))                    @@\
  411.     $(INSTALL) $(INSTALLFLAGS) flags srcname $(XVARuse0:/=\)dstname
  412.  
  413.  
  414. #define    InstallLibrary(libname,dest)                    @@\
  415. InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),dest)
  416.  
  417. #define    InstallScript(program,dest) /**/
  418.  
  419. #define    InstallNamedProg(srcname,dstname,dest)                @@\
  420. install:: srcname                            @@\
  421.     @echo sorry, unable to make srcname
  422.  
  423. #define    InstallSharedLibrary(libname,rev,dest)                @@\
  424. InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),$(USRLIBDIR)) @@\
  425. InstallTarget(install,libname.dll,$(INSTLIBFLAGS),dest)
  426.  
  427. #define    InstallSharedLibraryData(libname,rev,dest)
  428.  
  429. #define MakeDLL(libname,solist) $(LD) @<<                @@\
  430. SharedLibraryLoadFlags -out:libname.dll libname.exp solist        @@\
  431. <<
  432.  
  433. #define SharedCplusplusLibraryTarget(libname,rev,solist,down,up,need_libs) @@\
  434. AllTarget(libname.dll)                            @@\
  435.                                     @@\
  436. CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\
  437.                                     @@\
  438. XVARdef0 = solist                            @@\
  439.                                     @@\
  440. LibraryTargetName(libname): $(XVARuse0:.o=.obj) libname.def        @@\
  441.     RemoveFile($@)                            @@\
  442.     MakeLibrary($@,-def:libname.def $(XVARuse0:.o=.obj))        @@\
  443.     RemoveFile(libname.dll)                        @@\
  444.     MakeDLL(libname,$(XVARuse0:.o=.obj) need_libs $(EXTRA_LIBRARIES)) @@\
  445.                                     @@\
  446. libname.dll: LibraryTargetName(libname)                    @@\
  447.     RemoveFile(libname.dll)                        @@\
  448.     MakeDLL(libname,$(XVARuse0:.o=.obj) need_libs $(EXTRA_LIBRARIES)) @@\
  449.                                     @@\
  450. clean::                                    @@\
  451.     RemoveFile(LibraryTargetName(libname))                @@\
  452.     RemoveFile(libname.dll)
  453.  
  454. #define SharedLibraryTarget(libname,rev,solist,down,up)            @@\
  455. AllTarget(libname.dll)                            @@\
  456.                                     @@\
  457. CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\
  458.                                     @@\
  459. XVARdef0 = solist                            @@\
  460.                                     @@\
  461. LibraryTargetName(libname): $(XVARuse0:.o=.obj) libname.def        @@\
  462.     RemoveFile($@)                            @@\
  463.     MakeLibrary($@,-def:libname.def $(XVARuse0:.o=.obj))        @@\
  464.     RemoveFile(libname.dll)                        @@\
  465.     MakeDLL(libname,$(XVARuse0:.o=.obj) $(REQUIREDLIBS) $(EXTRA_LIBRARIES)) @@\
  466.                                     @@\
  467. libname.dll: LibraryTargetName(libname)                    @@\
  468.     RemoveFile(libname.dll)                        @@\
  469.     MakeDLL(libname,$(XVARuse0:.o=.obj) $(REQUIREDLIBS) $(EXTRA_LIBRARIES)) @@\
  470.                                     @@\
  471. clean::                                    @@\
  472.     RemoveFile(LibraryTargetName(libname))                @@\
  473.     RemoveFile(libname.dll)
  474.  
  475. #define SharedLibraryDataTarget(libname,rev,salist)
  476.  
  477. #define ObjectCplusplusCompile(options) RemoveFile($@)            @@\
  478.     $(CXX) -c $*.CCsuf @<<                        @@\
  479.     $(CXXFLAGS) options                        @@\
  480. <<
  481.  
  482. #define CplusplusLinkRule LinkRule
  483.  
  484. #define CplusplusProgramTargetHelper ProgramTargetHelper
  485.  
  486. #ifndef ComplexCplusplusProgramTarget
  487. #define    ComplexCplusplusProgramTarget(program)                @@\
  488.         PROGRAM = ProgramTargetName(program)                @@\
  489.                                     @@\
  490. AllTarget(ProgramTargetName(program))                    @@\
  491.                                     @@\
  492. CplusplusProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
  493.                                     @@\
  494. DependTarget()                                @@\
  495. LintTarget()                                @@\
  496.                                     @@\
  497. clean::                                    @@\
  498.     RemoveFile(ProgramTargetName(program))
  499. #endif /* ComplexCplusplusProgramTarget */
  500.  
  501.  
  502. /*
  503.  * IXX overrides to work with NT.  The rules currently try to run UNIX-like
  504.  * tools though.  
  505.  */
  506.  
  507. #ifndef EditImplName
  508. #define EditImplName(dep,name,interfaces,flags,tmp)            @@\
  509. filter:: dep                                @@\
  510. dep:: interfaces                            @@\
  511.     @$(RM) tmp                            @@\
  512.     @echo "Editing" name                        @@\
  513.     @cat interfaces > __TMP__                                       @@\
  514.     $(IXCPP) __TMP__ $(CXXDEFINES) $(IXCPPINCLUDES) |             \    @@\
  515.     $(IX) flags -filter name > tmp                    @@\
  516.     @mv tmp name                                                    @@\
  517.         $(RM) __TMP__
  518. #endif
  519.  
  520. #ifndef MakeSchemaFlags
  521. #define MakeSchemaFlags(schema_name,interfaces,type_ids_list,flags)    @@\
  522. filter:: type_ids.filter                        @@\
  523. type_ids.filter:: type_ids_list                        @@\
  524.     @echo "Building" schema_name                                    @@\
  525.     @cat interfaces schema_name type_ids_list > __TMP__        @@\
  526.     $(IXCPP) __TMP__ -DIX_SCHEMA $(CXXDEFINES) $(IXCPPINCLUDES) | \    @@\
  527.         $(IX) flags -schema schema_name-ix                @@\
  528.     @mv ix-schema_name-ix schema_name                               @@\
  529.     @$(RM) __TMP__
  530. #endif
  531.